home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1996 April: Mac OS SDK / Dev.CD Apr 96 SDK / Dev.CD Apr 96 SDK1.toast / Development Kits (Disc 1) / OpenDoc Development Framework / ODFDev / ODF / Framewrk / FWPart / Include / FWPrHdlr.h < prev    next >
Encoding:
Text File  |  1995-11-08  |  3.0 KB  |  103 lines  |  [TEXT/MPS ]

  1. //========================================================================================
  2. //
  3. //    File:                FWPrHdlr.h
  4. //    Release Version:    $ 1.0d11 $
  5. //
  6. //    Copyright:    © 1995 by Apple Computer, Inc., all rights reserved.
  7. //
  8. //========================================================================================
  9.  
  10. #ifndef FWPRHDLR_H
  11. #define FWPRHDLR_H
  12.  
  13. #ifndef FWEVENTH_H
  14. #include "FWEventH.h"
  15. #endif
  16.  
  17. #if FW_LIB_EXPORT_PRAGMAS
  18. #pragma lib_export on
  19. #endif
  20.  
  21. //========================================================================================
  22. //    Forward Declarations
  23. //========================================================================================
  24.  
  25. struct Environment;
  26.  
  27. class FW_CLASS_ATTR    FW_CPrintInfo;
  28. class FW_CLASS_ATTR    FW_CPrintEnvironment;
  29. class FW_CLASS_ATTR    FW_CFrame;
  30. class FW_CLASS_ATTR FW_CPart;
  31. class FW_CLASS_ATTR FW_CString;
  32.  
  33. //========================================================================================
  34. //    class FW_CPrintHandler
  35. //========================================================================================
  36.  
  37. class FW_CLASS_ATTR FW_CPrintHandler : public FW_MEventHandler
  38. {
  39. public:
  40. // ----- Construction
  41.                                 FW_CPrintHandler(FW_CPart* part, FW_CFrame* frame);
  42.     virtual                        ~FW_CPrintHandler();
  43.  
  44. // ----- Operations
  45.     void                        HandlePageSetup(Environment* ev);
  46.  
  47.     void                        HandlePrint(Environment* ev);
  48.                                     
  49. // ----- Attributes
  50.     FW_CPart*                    GetPart() const;
  51.     FW_CFrame*                    GetFrame() const;
  52.     FW_CFrame*                    GetPrintFrame() const;
  53.                                     
  54. // ----- FW_MEventHandler protocol
  55. public:
  56.     virtual FW_Boolean             DoAdjustMenus(Environment *ev, FW_CMenuBar* menuBar, FW_Boolean hasMenuFocus, FW_Boolean isRoot);
  57.     virtual FW_Boolean             DoMenu(Environment* ev, const FW_CMenuEvent& theMenuEvent);
  58.  
  59. // ----- Overridables - dialogs
  60. public:
  61.     virtual void                CreateProgressDialog(
  62.                                     Environment*        ev,
  63.                                     ODFrame*            frame,
  64.                                     long                numPages,
  65.                                     const FW_CString&    title);
  66.  
  67.     virtual void                DestroyProgressDialog(
  68.                                     Environment*        ev,
  69.                                     ODFrame*            frame);
  70.  
  71.     virtual void                UpdateProgressDialog(
  72.                                     long                pageNumber);
  73. protected:
  74.     virtual FW_Boolean            DoPageSetupDialog(Environment* ev);
  75.     virtual FW_Boolean            DoJobDialog(Environment* ev);
  76.     virtual void                NotifyNoDefaultPrinter(Environment* ev);
  77.     virtual void                NotifyPrintingCanceled(Environment* ev);
  78.  
  79. // ----- Overridables - printing
  80. protected:
  81.     virtual FW_CFrame*            CreatePrintFrame(Environment* ev);
  82.     virtual void                ReleasePrintFrame(Environment* ev);
  83.  
  84.     virtual    void                PrintDocument(Environment* ev, FW_CPrintEnvironment* printEnv);
  85.     virtual void                CountPrintPages(Environment* ev, long& xPageCount, long& yPageCount);
  86.     virtual void                PrintPage(Environment* ev, ODFacet* facet, long xPage, long yPage);
  87.  
  88. // ----- Helpers
  89. private:
  90.     FW_Boolean                    PreModalDialog(Environment* ev);                                    
  91.     void                        PostModalDialog(Environment* ev);
  92.     FW_CPrintInfo*                GetPrintInfo() const;                            
  93.  
  94. // ----- Data
  95. private:
  96.     FW_CPart*                    fPart;
  97.     FW_CFrame*                    fFrame;
  98.     FW_CFrame*                    fPrintFrame;
  99. };
  100.  
  101. #endif // FWPRHDLR_H
  102.  
  103.